Porty Nestandardni rychlost
Otázka od: Vojtech Albrecht
14. 11. 2002 10:47
Jiz delsi dobu se snazim vyresit problem s nestandardni rychlosti
komunikace.
Zkusil jsem nekolik komponent, i AsyncFree ale nedostala jsem se k zadnemu
vysledku. Problém je ten ze ve windows 2000 pri nestandardni rychlosti to
nejde vubec, nebo obcas. Vetsinou je pritomna hlaska o spatnem nastaveni
DCB. Rychlost kterou potrebuji komunikovat je cca 10200Bd.
Jake mam provest nastaveni, pripadne existuje komponenta ktera toto bez
problemu umi i pod win2000 (XP) ?
Byl bych rad i za pripadny odkaz kde bych se dozvedel o problematice vice.
Děkuji ......
***********************************************************
Delphi5 Prf.
Windows2000 Prf.
***********************************************************
Odpovedá: Lukas Gebauer
14. 11. 2002 10:19
Rychlost nastavitelna do Windows je limitovana moznostmi hardwaru..
tedy kdyz hardware neumi 10200bps (mimochodem baud a bit za sekundu..
to nejsou totozne jednotky!), tak ani kdyby ses rozkrajel, tak to
nenastavis!
A bezny seriovy port na PC tuto rychlost opravdu neumi.
> Jiz delsi dobu se snazim vyresit problem s nestandardni rychlosti
> komunikace. Zkusil jsem nekolik komponent, i AsyncFree ale nedostala
> jsem se k zadnemu vysledku. Problém je ten ze ve windows 2000 pri
> nestandardni rychlosti to nejde vubec, nebo obcas. Vetsinou je
> pritomna hlaska o spatnem nastaveni DCB. Rychlost kterou potrebuji
> komunikovat je cca 10200Bd. Jake mam provest nastaveni, pripadne
> existuje komponenta ktera toto bez problemu umi i pod win2000 (XP) ?
> Byl bych rad i za pripadny odkaz kde bych se dozvedel o problematice
> vice.
-- Lukas Gebauer.
E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.
Odpovedá: Petr Fejfar
14. 11. 2002 11:44
From: "Lukas Gebauer" <gebylist@mlp.cz>
> Rychlost nastavitelna do Windows je limitovana
> moznostmi hardwaru tedy kdyz hardware neumi 10200bps > tak ani kdyby ses
rozkrajel, tak to nenastavis!
To je pravda, ale protoze muzes nastavit nekterou
z rychlosti, pro kterou plati:
Rate = 1843200 div 16 div BRGlatch,
tak pro BRGlatch=11 dostanes Rate=10472
a to je dostatecne blizko pozadovane rychlosti 10200, pokud bude protejsi
strana pouzivat take clock=16*rate
a signal nebude vyznamne zkreslen.
V takovem pripade se zacatek stop bitu (pri 8N+1) predbehne o
Diff = 1/10200/9-1/10472/9 ~ 23 us
a to bohate splnuje vzorkovaci teorem
clock >= 2*rate
pri kterem je polovina periodu bitu rovna
1/10200/2 ~ 196 us.
HTH, pf